aws ec2 swap memory 확보

마지막 수정일: 2025. 03. 30.

TLDR

EC2 사용시에 ram 메모리가 부족할 땐 HDD의 일정공간을 메모리처럼 사용하는 SWAP 메모리를 사용하면 됨

terminal command

BASH
dd if=/dev/zero of=/root/swapfile bs=1k count=2000000 conv=excl
chmod 600 /root/swapfile
mkswap /root/swapfile
swapon /root/swapfile
free -h

각 명령어 설명

  1. dd if=/dev/zero of=/root/swapfile bs=1k count=2000000 conv=excl
  • 역할: 빈 데이터를 채운 2GB 크기의 스왑 파일을 생성
  • 옵션 설명:
    • if=/dev/zero: 입력 파일로 0으로 채워진 바이트 스트림 사용
    • of=/root/swapfile: 출력 파일의 위치 및 이름
    • bs=1k: 블록 크기를 1KB로 지정
    • count=2000000: 총 2,000,000개의 블록 → 약 2GB
    • conv=excl: of 파일이 이미 존재하면 덮어쓰지 않고 실패함

2. `chmod 600 /root/swapfile` - 역할: 스왑 파일의 권한 설정 (소유자만 읽기/쓰기 가능) - 보안상 이유 : 루트 외에는 접근하지 못하게 제한
3. `mkswap /root/swapfile` - 역할 : 위에서 만든 파일을 실제 스왑 영역으로 초기화 (스왑 시그니처 부여)
4. `swapon /root/swapfile` - 역할: 초기화된 스왑 파일을 시스템에 활성화
  1. free -h
  • 역할: 현재 메모리와 스왑 사용 현황을 사람이 읽기 쉬운 형태로 출력

추가 설정

  • 이 설정은 인스턴스가 재부팅되면 사라지므로, /etc/fstab에 아래 한 줄을 추가하면 부팅 시 자동으로 스왑을 활성화할 수 있음
BASH
/root/swapfile none swap sw 0 0
  • EC2의 기본 설정에서는 스왑이 비활성화되어 있으므로 설정하면 좋을 듯